Embodiments of the present invention relate to complex event processing, and in particular, to systems and methods allowing elastic complex event processing.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Complex Event Processing (CEP) systems may be used to execute queries over moving data coming from unbounded sources. Examples of such unbounded sources include but are not limited to sensors used for equipment monitoring, or stock market data.
A challenge for such systems is to support elasticity. Elasticity is the ability to automatically scale up and down in a distributed environment to be able to accommodate varying load.
When a CEP system scales up, it uses an increasing number of hosts (virtual or physical computers) in order to be able to process the increasing amount of data. Conversely when the amount of data to be processed decreases, an elastic CEP system scales down, freeing up underutilized hosts to increase the overall utilization and reduce costs.
Scaling up allows the CEP system to process the large amount of streaming data. Without scaling up a CEP system would not be able to process all data, resulting in a direct financial loss due to, e.g., violation of a Service Level Agreement (SLA). Scaling down is vital for lowering the True Cost to Own (TCO) of the CEP system. A CEP system able to both scale down and scale up, is known as elastic.
Accordingly, there is a need in the art for systems and methods providing elastic complex event processing.